{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "38dde73f-01ab-42e1-9e6e-4ba5f18e0623",
   "metadata": {},
   "source": [
    "# 构造微调训练数据集\n",
    "\n",
    "借助 ChatGPT 和 GPT API 我们可以实现自动化批量构造训练数据集。\n",
    "\n",
    "下面我们以中国古典哲学数据集为例，展示了自动构造训练集的主要流程：\n",
    "\n",
    "- 使用 LangChain 构造训练数据样例\n",
    "    - 基于 ChatGPT 设计 `System Role` 提示词\n",
    "    - 使用 `OpenAI GPT-4o-mini` 生成基础数据\n",
    "    - 解析 OpenAI GPT 生成的训练数据\n",
    "    - 持久化存储`dataset.csv`训练数据集文件\n",
    "    - 使用 ChatGPT 实现训练数据多样化\n",
    "- 自动化批量生成训练数据集\n",
    "    - 整理收集原始数据`raw_data.txt`\n",
    "    - 自动解析原始数据样例 `raw_data_content[]`\n",
    "    - 设计 `gen_data` 训练数据生成器函数\n",
    "    - 设计训练数据生成流水线\n",
    "\n",
    "最佳实践参考：\n",
    "\n",
    "- 使用 GPT-4o-mini 生成基础数据：https://platform.openai.com/playground/p/2c7XNPgo6Y2iDxILiWfD3iPu?model=gpt-4o-mini&mode=chat\n",
    "- 使用 ChatGPT 生成数据处理代码和相关文本整理：https://chat.openai.com/share/cdfd2d1d-a75e-4cee-be49-539c010ca1b1\n",
    "- GPT API 价格: https://openai.com/pricing"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18380fa5-6b34-44eb-ba8c-f4fc7ff41e9c",
   "metadata": {},
   "source": [
    "## 使用 OpenAI \bSDk 构造训练数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f84be8c1-128b-4763-aae6-b143de572796",
   "metadata": {},
   "outputs": [],
   "source": [
    "from openai import OpenAI\n",
    "client = OpenAI()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d0c8f9e7-ef2c-400d-b194-a31806f0fa91",
   "metadata": {},
   "outputs": [],
   "source": [
    "response = client.chat.completions.create(\n",
    "  model=\"gpt-4o-mini\",\n",
    "  messages=[\n",
    "    {\n",
    "      \"role\": \"system\",\n",
    "      \"content\": \"你是中国古典哲学大师，尤其擅长周易的哲学解读。\\n\\n接下来，你收到的都是关于周易卦象的解释，你需要整理润色，并生成用于大模型训练的内容和格式。\\n\\n示例输入：\\n\\n师卦，此卦是异卦相叠，下卦为坎，上卦为坤。“师”指军队。坎为水、为险；坤为地、为顺，喻寓兵于农。兵凶战危，用兵乃圣人不得已而为之，但它可以顺利无阻碍地解决矛盾，因为顺乎形势，师出有名，故能化凶为吉。占得此卦，对于军事上率师出征非常有利，必无灾祸。师卦是天马出群之卦，以寡伏众之象。\\n师卦位于讼卦之后，《序卦》之中这样解释道：“讼必有众起，故受之以师。师者，众也。”争讼的人越来越多，以致形成了军队。\\n\\n期待结果：\\n\\ncontent:\\\"师卦\\\"\\nsummary:\\\"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。\\n\\n师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。\\n\\n师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\\\"\"\n",
    "    },\n",
    "    {\n",
    "      \"role\": \"user\",\n",
    "      \"content\": \"蒙卦是教育启蒙的智慧，艮为山，坎为泉，山下出泉。泉水始流出山，则必将渐汇成江河,正如蒙稚渐启，又山下有险，因为有险停止不前，所以蒙昧不明。事物发展的初期阶段，必然蒙昧，所以教育是当务之急，养学生纯正无邪的品质，是治蒙之道。\\n蒙卦，这个卦是异卦相叠，下卦为坎，上卦为艮。艮是山的形象，喻止；坎是水的形象，喻险。卦形为山下有险，仍不停止前进，是为蒙昧，故称蒙卦。但因把握时机，行动切合时宜;因此，具有启蒙和通达的卦象。\\n《蒙》卦是《屯》卦这个始生卦之后的第二卦。《序卦》中说：“物生必蒙，故受之以蒙。蒙者，蒙也，特之稚也。”物之幼稚阶段，有如蒙昧未开的状态，在人则是指童蒙。\\n《象》中这样解释蒙卦：山下出泉，蒙；君子以果行育德。\"\n",
    "    },\n",
    "    {\n",
    "      \"role\": \"assistant\",\n",
    "      \"content\": \"content:\\\"蒙卦\\\"\\nsummary:\\\"在周易中，蒙卦象征着教育启蒙和智慧的初期阶段，由两个异卦相叠组成：下卦坎（水）和上卦艮（山）。坎象征水，艮象征山，代表了山下有水源，水流出山。这预示着在事物发展的起初阶段，人们会陷入蒙昧状态，因此教育成为当务之急。只有培养纯正无邪的品质，才能走上通达之路，如同泉水汇成江河。\\n\\n蒙卦的核心哲学是：事物发展的初期阶段必然处于蒙昧状态，但如果能把握时机，行动切合时宜，就能启蒙通达。蒙卦紧随始生卦《屯》之后，《序卦》中解释道：“物生必蒙，故受之以蒙。蒙者，蒙也，特之稚也。”这说明物在幼稚阶段都会经历蒙昧状态，找它蒙即是稚嫩。\\n\\n《象》中解释说：山下出泉，蒙；君子以果行育德，意味着像泉水从山下流出一样，启蒙教育有助于培育美德。\\\"\"\n",
    "    },\n",
    "    {\n",
    "      \"role\": \"user\",\n",
    "      \"content\": \"需卦，本卦是异卦相叠，上卦为坎，下卦为乾。乾卦象征天空辽阔，坎卦象征乌云密布。雨水之于传统农业社会而言，是最大的需求，因此用这个意象来表现。古人引申为雨将下，万物皆待，所以叫需。\\n需，古体字结构是“雨上天下”，从雨而声。如苍天下雨，滋养万物及人。从人的角度看，天下雨，则不易出行耕作，因此在家喝酒吃肉、静待天时。所以，这一卦的基本象征就是等待、不进，还有饮食之义。\\n \\n需卦位于蒙卦之后，《序卦》之中这样解释道：“物稚不可不养也，故受之以需。需者，饮食之道也。”有所需要，也是有所等待。\\n《象》曰：云上于天，需;君子以饮食宴乐。\\n《象》中这段话的意思是说：需卦的卦象是乾(天)下坎(水)上，为水在天上之表象。水汽聚集天上成为云层，密云満天，但还没有下雨，需要等待;君子在这个时候需要吃喝，饮酒作乐，即在等待的时候积蓄力量。\\n需卦象征等待，启示人们守正待机的道理，属于中上卦。《象》这样评断此卦：明珠土埋日久深，无光无亮到如今，忽然大风吹土去，自然显露有重新。\\n\"\n",
    "    },\n",
    "    {\n",
    "      \"role\": \"assistant\",\n",
    "      \"content\": \"content:\\\"需卦\\\"\\nsummary:\\\"在周易中，需卦是一个富有深意的卦象，由两个异卦相叠组成：下卦乾（天）和上卦坎（水）。乾象征广阔的天空，而坎象征乌云密布，暗示着迫切需要雨水的意象。古人将雨水视为万物生长的必需，因此命名为“需”。需卦的基本象征是等待和饮食之道。\\n\\n需卦位于蒙卦之后，《序卦》中解释为“物稚不可不养也，故受之以需。需者，饮食之道也。”说明物在幼稚状态需要得到滋养，因此受到需卦的启示。《象》中描述：云上于天，需；君子以饮食宴乐。意味着天空乌云密布，需要等待雨水，而君子则在等待的过程中积蓄力量，享受饮食和欢乐。\\n\\n需卦的核心哲学是：等待，启示着守正待机的道理。它属于中上卦，象征着埋藏已久的明珠，经过大风吹去尘埃后，重新显露光芒。\\\"\"\n",
    "    }\n",
    "  ],\n",
    "  temperature=1,\n",
    "  max_tokens=4095,\n",
    "  top_p=1,\n",
    "  frequency_penalty=0,\n",
    "  presence_penalty=0\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "59b00c8d-0d31-41be-acba-58cc8427b952",
   "metadata": {},
   "source": [
    "---"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5cad327e-e725-4258-a0d4-5937929074ca",
   "metadata": {},
   "source": [
    "## 使用 LangChain 构造训练数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "f3224fa1-16bb-4526-9f3d-1d731376f1f3",
   "metadata": {},
   "outputs": [],
   "source": [
    "from langchain.chat_models import ChatOpenAI\n",
    "from langchain.schema import HumanMessage, SystemMessage\n",
    "from langchain.prompts.chat import (\n",
    "    ChatPromptTemplate,\n",
    "    HumanMessagePromptTemplate,\n",
    "    SystemMessagePromptTemplate,\n",
    ")\n",
    "\n",
    "chat = ChatOpenAI(model=\"gpt-4o-mini\",\n",
    "                  temperature=1,\n",
    "                  max_tokens=4095)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "43a07901-59b3-4290-97dc-8dfd948f8f14",
   "metadata": {},
   "outputs": [],
   "source": [
    "system_content = \"\"\"\n",
    "你是中国古典哲学大师，尤其擅长周易的哲学解读。\n",
    "\n",
    "接下来，你收到的都是关于周易卦象的解释，你需要整理润色，并生成用于大模型训练的内容和格式。\n",
    "\n",
    "示例输入：\n",
    "\n",
    "师卦，此卦是异卦相叠，下卦为坎，上卦为坤。“师”指军队。坎为水、为险；坤为地、为顺，喻寓兵于农。兵凶战危，用兵乃圣人不得已而为之，但它可以顺利无阻碍地解决矛盾，因为顺乎形势，师出有名，故能化凶为吉。占得此卦，对于军事上率师出征非常有利，必无灾祸。师卦是天马出群之卦，以寡伏众之象。\n",
    "师卦位于讼卦之后，《序卦》之中这样解释道：“讼必有众起，故受之以师。师者，众也。”争讼的人越来越多，以致形成了军队。\n",
    "\n",
    "期待结果：\n",
    "\n",
    "content:\"师卦\"\n",
    "summary:\"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。\n",
    "\n",
    "师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。\n",
    "\n",
    "师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\"\n",
    "\"\"\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "4678fd0d-147a-4bca-ab12-1cd4c15a700b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 原始数据\n",
    "raw_content = \"蒙卦是教育启蒙的智慧，艮为山，坎为泉，山下出泉。泉水始流出山，则必将渐汇成江河,正如蒙稚渐启，又山下有险，因为有险停止不前，所以蒙昧不明。事物发展的初期阶段，必然蒙昧，所以教育是当务之急，养学生纯正无邪的品质，是治蒙之道。\\n蒙卦，这个卦是异卦相叠，下卦为坎，上卦为艮。艮是山的形象，喻止；坎是水的形象，喻险。卦形为山下有险，仍不停止前进，是为蒙昧，故称蒙卦。但因把握时机，行动切合时宜;因此，具有启蒙和通达的卦象。\\n《蒙》卦是《屯》卦这个始生卦之后的第二卦。《序卦》中说：“物生必蒙，故受之以蒙。蒙者，蒙也，特之稚也。”物之幼稚阶段，有如蒙昧未开的状态，在人则是指童蒙。\\n《象》中这样解释蒙卦：山下出泉，蒙；君子以果行育德。\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "dd57faee-81cf-4fd9-ad90-cc1583cfa32a",
   "metadata": {},
   "outputs": [],
   "source": [
    "messages = [\n",
    "    SystemMessage(\n",
    "        content=system_content\n",
    "    ),\n",
    "    HumanMessage(\n",
    "        content=raw_content\n",
    "    ),\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "19eec711-faa3-463a-8e5f-a100696491eb",
   "metadata": {},
   "outputs": [],
   "source": [
    "ai_message = chat(messages)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "15df67cd-3dab-4c54-a4f2-0b14c0c52953",
   "metadata": {},
   "source": [
    "### 解析 OpenAI GPT 生成的训练数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "ea3d3181-fd27-4d4f-a305-98c295b4317b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'content:\"蒙卦\"\\nsummary:\"蒙卦在周易中象征着教育启蒙的智慧，其卦象由异卦相叠组成：下卦为坎（水），上卦为艮（山）。艮代表山，寓意着阻止和停滞，而坎则象征着水，兼具险阻和流动，因此蒙卦的卦形体现了‘山下有泉’的意象，暗示着尽管有险阻，仍不应停止前进。\\n\\n蒙卦的哲学核心在于认知的过程。初期的发展往往是蒙昧的，因此教育成为当务之急。在启蒙过程中，培育学生的纯正无邪的品质可谓治蒙之道。就如同泉水从山下慢慢汇聚成江河，蒙昧的心灵也需通过教育逐步觉醒，全面发展。\\n\\n此外，蒙卦是《屯》卦之后的第二卦，《序卦》中曰：“物生必蒙，故受之以蒙。”这表明事物在幼稚阶段如同未开之蒙，尤其是对儿童而言。《象辞》中提到：‘山下出泉，蒙；君子以果行育德。’这进一步强调了作为君子应利用行动来培养德行，以引导蒙昧者走向明理之道。\"'"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ai_message.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "2564444f-e237-425b-adc4-429115bb86dd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content: 蒙卦\n",
      "Summary: 蒙卦在周易中象征着教育启蒙的智慧，其卦象由异卦相叠组成：下卦为坎（水），上卦为艮（山）。艮代表山，寓意着阻止和停滞，而坎则象征着水，兼具险阻和流动，因此蒙卦的卦形体现了‘山下有泉’的意象，暗示着尽管有险阻，仍不应停止前进。\n",
      "\n",
      "蒙卦的哲学核心在于认知的过程。初期的发展往往是蒙昧的，因此教育成为当务之急。在启蒙过程中，培育学生的纯正无邪的品质可谓治蒙之道。就如同泉水从山下慢慢汇聚成江河，蒙昧的心灵也需通过教育逐步觉醒，全面发展。\n",
      "\n",
      "此外，蒙卦是《屯》卦之后的第二卦，《序卦》中曰：“物生必蒙，故受之以蒙。”这表明事物在幼稚阶段如同未开之蒙，尤其是对儿童而言。《象辞》中提到：‘山下出泉，蒙；君子以果行育德。’这进一步强调了作为君子应利用行动来培养德行，以引导蒙昧者走向明理之道。\n"
     ]
    }
   ],
   "source": [
    "text = ai_message.content\n",
    "\n",
    "# 分割字符串来找到content和summary的位置\n",
    "content_start = text.find('content:\"') + len('content:\"')\n",
    "content_end = text.find('\"\\nsummary:')\n",
    "summary_start = text.find('summary:\"') + len('summary:\"')\n",
    "summary_end = text.rfind('\"')\n",
    "\n",
    "# 提取并存储content和summary\n",
    "content = text[content_start:content_end].strip()\n",
    "summary = text[summary_start:summary_end].strip()\n",
    "\n",
    "print(\"Content:\", content)\n",
    "print(\"Summary:\", summary)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba36506e-2871-4ad9-b928-ec9338969ce9",
   "metadata": {},
   "source": [
    "### 持久化存储训练数据集文件"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "d9fa000b-c4d4-41d2-94cf-7564e8dad87f",
   "metadata": {},
   "outputs": [],
   "source": [
    "import csv\n",
    "\n",
    "# 如果没有GPT API，可以使用预定义的变量\n",
    "# content = \"蒙卦\"\n",
    "# summary = \"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\"\n",
    "\n",
    "# 新建CSV文件并写入数据\n",
    "with open('test_dataset.csv', mode='w', newline='', encoding='utf-8') as file:\n",
    "    writer = csv.writer(file)\n",
    "    # 写入标题行\n",
    "    writer.writerow(['content', 'summary'])\n",
    "    # 写入数据行\n",
    "    writer.writerow([content, summary])\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e6e2e4ed-08a2-4e9d-ba18-d55685d44df3",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "df4aed7d-f597-46c5-a25e-960fd731bb3c",
   "metadata": {},
   "source": [
    "### 数据增强：构造多样化的提问方式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "6b335c84-e0ee-49a3-bca9-d45d1701bde4",
   "metadata": {},
   "outputs": [],
   "source": [
    "def generate_question_summary_pairs(content, summary):\n",
    "    \"\"\"\n",
    "    生成20对提问和总结的配对。\n",
    "\n",
    "    :param content: 内容（例如：“蒙卦”）。\n",
    "    :param summary: 内容的总结。\n",
    "    :return: 包含20对提问和总结的列表。\n",
    "    \"\"\"\n",
    "    # 20种提问模板\n",
    "    question_templates = [\n",
    "        \"{}代表什么？\",\n",
    "        \"周易中的{}含义是什么？\",\n",
    "        \"请解释一下{}。\",\n",
    "        \"{}在周易中是什么象征？\",\n",
    "        \"周易{}的深层含义是什么？\",\n",
    "        \"{}和教育启蒙有什么联系？\",\n",
    "        \"周易的{}讲述了什么？\",\n",
    "        \"{}是怎样的一个卦象？\",\n",
    "        \"{}在周易中怎样表达教育的概念？\",\n",
    "        \"{}的基本意义是什么？\",\n",
    "        \"周易中{}的解释是什么？\",\n",
    "        \"{}在周易中代表了哪些方面？\",\n",
    "        \"{}涉及哪些哲学思想？\",\n",
    "        \"周易中{}的象征意义是什么？\",\n",
    "        \"{}的主要讲述内容是什么？\",\n",
    "        \"周易{}的核心思想是什么？\",\n",
    "        \"{}和启蒙教育之间有何联系？\",\n",
    "        \"在周易中，{}象征着什么？\",\n",
    "        \"请描述{}的含义。\",\n",
    "        \"{}在周易哲学中扮演什么角色？\"\n",
    "    ]\n",
    "\n",
    "    # 使用content填充提问模板\n",
    "    questions = [template.format(content) for template in question_templates]\n",
    "\n",
    "    # 创建提问和总结的配对\n",
    "    question_summary_pairs = [(question, summary) for question in questions]\n",
    "\n",
    "    return question_summary_pairs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "05349693-61a9-4557-ba9a-c0f4ff24a1ac",
   "metadata": {},
   "outputs": [],
   "source": [
    "import csv\n",
    "\n",
    "# 如果没有GPT API，可以使用预定义的变量\n",
    "# content = \"蒙卦\"\n",
    "# summary = \"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\"\n",
    "pairs = generate_question_summary_pairs(content, summary)\n",
    "\n",
    "# 将结果写入CSV文件\n",
    "with open('test_dataset.csv', mode='w', newline='', encoding='utf-8') as file:\n",
    "    writer = csv.writer(file)\n",
    "    writer.writerow(['content', 'summary'])\n",
    "    for pair in pairs:\n",
    "        writer.writerow(pair)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3825a610-a117-4f76-ad6f-35a491aeec24",
   "metadata": {},
   "source": [
    "## 自动化批量生成训练数据流水线\n",
    "\n",
    "原始数据来源：https://www.zhouyi.cc/zhouyi/yijing64/4103.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "fd387396-25b6-48ef-b510-bb3906ba52d4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 初始化一个空列表用于存储原始内容数据\n",
    "raw_content_data = []\n",
    "\n",
    "# 读取文件并分割数据样例\n",
    "with open('data/raw_data.txt', 'r', encoding='utf-8') as file:\n",
    "    content = file.read()\n",
    "    # 使用连续的换行符('\\n\\n')作为分隔符来分割文本\n",
    "    data_samples = content.split('\\n\\n')\n",
    "\n",
    "    # 遍历分割后的数据样例并添加到列表中\n",
    "    for sample in data_samples:\n",
    "        # 移除每个样例中的额外空白字符（如果有的话）\n",
    "        cleaned_sample = sample.strip()\n",
    "        # 仅添加非空样例\n",
    "        if cleaned_sample:\n",
    "            raw_content_data.append(cleaned_sample)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "ed7f642e-d5de-4d19-8c16-07240daf70df",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样例 1:\n",
      "蒙卦原文\n",
      "蒙。亨。匪我求童蒙，童蒙求我。初筮告，再三渎，渎则不告。利贞。\n",
      "象曰：山下出泉，蒙。君子以果行育德。\n",
      "白话文解释\n",
      "蒙卦：通泰。不是我有求于幼稚愚昧的人，而是幼稚愚昧的人有求于我。第一次占筮，神灵告诉了他。轻慢不敬的再三占筮，轻慢不敬的占筮，神灵就不会告诉他。但还是吉利的卜问。\n",
      "《象辞》说：上卦为艮，象征山；下卦为坎，象征泉。山下有泉，泉水喷涌而出，这是蒙卦的卦象。君子观此卦象，取法于一往无前的山泉，从而以果敢坚毅的行动来培养自身的品德。\n",
      "《断易天机》解\n",
      "蒙卦艮上坎下，为离宫四世卦。蒙即蒙昧，主回还往复，疑惑不前，多忧愁过失，乃是凶卦。\n",
      "北宋易学家邵雍解\n",
      "智慧未开，蒙昧闭塞；犹豫不决，缺乏果断。\n",
      "得此卦者，智慧犹如童蒙，不辨是非，迷失方向；若能顺贤师良友之教，启其聪明则亨通。\n",
      "台湾国学大儒傅佩荣解\n",
      "时运：蓄积德行，出而用世。\n",
      "财运：矿山生意，果决则吉。\n",
      "家宅：君子居吉；婚姻之始。\n",
      "身体：驱去邪热，可保平安。\n",
      "传统解卦\n",
      "这个卦是异卦（下坎上艮）相叠，艮是山的形象，喻止；坎是水的形象，喻险。卦形为山下有险，仍不停止前进，是为蒙昧，故称蒙卦。但因把握时机，行动切合时宜，因此，具有启蒙和通达的卦象。\n",
      "大象：蒙者，昏而无所见也，故宜「启蒙」。\n",
      "运势：初时迷惑不知方向，须忍耐待机而动，凡事多听取别人意见，则运可通。\n",
      "事业：事业开始，混乱无序，危机四伏，以勇敢坚毅的行动可以扭转局面。然而必须接受严格教育，培养这种奋发图强的精神。务必脚踏实地，最忌好高骛远，否则会陷入孤立无援的境地。\n",
      "经商：务必小心谨慎，不得急功近利，尤其应树立高尚的商业道德，以良好的信誉提高竞争力而取胜。\n",
      "求名：必须接受良好的基础教育，陶冶情操。且动机纯正，可以达到目的。\n",
      "婚恋：注意考察对方品德，不可以金钱为诱铒。夫妻需相互宽容、理解。\n",
      "决策：有时会陷入迷惘困顿的境地，加上胆小、不果断，往往误事。如能接受长辈的教诲，甚至严酷的考验，抛弃疑惧的心理，等待适当时机，必然一帆风顺。\n",
      "------\n",
      "样例 2:\n",
      "屯卦原文\n",
      "屯。元，亨，利，贞。勿用，有攸往，利建侯。\n",
      "象曰：云，雷，屯；君子以经纶。\n",
      "白话文解释\n",
      "屯卦。大吉大利，吉利的占卜。不利于出门。有利于建国封侯。\n",
      "《象辞》说：屯的上卦为坎，坎为云，下卦为震，震为雷。云行于上，雷动于下，是屯卦的卦象。君子观此卦象，取法于云雷，用云的恩泽，雷的威严来治理国事。\n",
      "《断易天机》解\n",
      "屯卦坎上震下，为坎宫二世卦。屯说明有困难，又象征动而逢险境，需刚毅果敢方为吉。\n",
      "北宋易学家邵雍解\n",
      "万物始生，开始困难；先劳后逸，苦尽甘来。\n",
      "得此卦者，身处困境，宜守不宜进，须多加辛苦努力，排除困难，方可通达，有初难后解之象。\n",
      "台湾国学大儒傅佩荣解\n",
      "时运：宜守不宜进。\n",
      "财运：创业维艰。\n",
      "家宅：修缮住宅；初婚不和。\n",
      "身体：保存元气。\n",
      "传统解卦\n",
      "这个卦是异卦（下震上坎）相叠，震为雷，喻动；坎为雨，喻险。雷雨交加，险象丛生，环境恶劣。“屯”原指植物萌生大地，万物始生，充满艰难险阻，然而顺时应运，必欣欣向荣。\n",
      "大象：屯者难也，万事欲进而不得进。\n",
      "运势：身处困境，步步为营，有初难后解之意。\n",
      "事业：起初多有不利，要知难而进，小心翼翼，勇往直前，灵活机动，可望获得大的成功，时机到来时一定要抓住，却也不得操之太急，且仍有困难，务必有他人相助，故平时应多施恩惠。\n",
      "经商：创业初期步履艰难，多有挫折。坚定信念最重要，不要为表面现象所迷惑，应积极进取，行动果断，打开出路。若仍无法摆脱困境，则应退守保全，等待机会，再展宏图。\n",
      "求名：积极争取，主动追求，可以成功。\n",
      "婚恋：好事多磨，忠贞纯洁，大胆追求，能够成功，婚姻美满。\n",
      "决策：初始困难，但若具有坚忍不拔的毅力和锲而不舍的奋斗精神，前途不可估量，但往往不为他人理解而陷于孤独苦闷，事业会因此处于困难状态，需要得到贤德之人的帮助才能摆脱。如能以乐观主义精神处世，能取得成就。\n",
      "------\n",
      "样例 3:\n",
      "需卦原文\n",
      "需。有孚，光亨，贞吉。利涉大川。\n",
      "象曰：云上于天，需；君子以饮食宴乐。\n",
      "白话文解释\n",
      "需卦：抓到俘虏。大吉大利，吉利的卜问。有利于涉水渡河。\n",
      "《象辞》说：需的上卦为坎，表示云；下卦为乾，表示天。云浮聚于天上，待时降雨是需卦的卦象。君子观此卦象，可以宴饮安乐，待时而动。\n",
      "《断易天机》解\n",
      "需卦坎上乾下，为坤宫游魂卦。需为踌躇、期待，虽然刚强，但前面有险阻，应当等待，涉大川则利。\n",
      "北宋易学家邵雍解\n",
      "坎陷当前，遇阻不进；大器晚成，收成在后。\n",
      "得此卦者，时机尚未成熟，需要耐心等待，急进反会见凶。\n",
      "台湾国学大儒傅佩荣解\n",
      "时运：时机尚未成熟，耐心等待。\n",
      "财运：资本未集，无法开张。\n",
      "家宅：平安是福。\n",
      "身体：调节饮食，健康有望。\n",
      "传统解卦\n",
      "这个卦是异卦（下乾上坎）相叠，下卦是乾，刚健之意；上卦是坎，险陷之意。以刚逢险，宜稳健之妥，不可冒失行动，观时待变，所往一定成功。\n",
      "大象：云登天上而未雨，不能急进，等待时机之象。\n",
      "运势：智者必须待时而行，急进反见凶险。\n",
      "事业：关键在于审时度势，耐心等待，事成于安祥，切勿冒险，欲速不达。自己要充满自信，临危不惧，坚守中正，必可化险为夷。情况有利时，仍得居安思危。\n",
      "经商：行动之初，情况困难，必须以极大的耐心，创造条件和机会，行事光明磊落，观时待变，实现愿望。事情接近成功时，更应小心谨慎，切莫功亏一篑。\n",
      "求名：时机尚不成熟，应耐心等待。这时应坚定信念，不为闲言流语所动摇，努力丰富自己，再求助可靠的人便可成功。\n",
      "婚恋：慎重，切不可草率行事，逐渐培养感情，以诚实、热情相待，会发生变故，仍可以有良好的结局。双方都应懂得以柔克刚的道理。\n",
      "决策：前途光明，有雄心大志，且可实现。为此需要积蓄实力，等待时机，大器晚成。本人具有坚强的意志，冷静的头脑。前进途中会遇到困难和险阻，必须十分谨慎，坦然对待小人的中伤，在灾祸在面前能镇静自若。不轻举妄动，冷静选择方向。为人谦和、坦率，多有他人相助，促使事业成功。当时机成熟后，必然一帆风顺。\n",
      "------\n",
      "样例 4:\n",
      "讼卦原文\n",
      "讼。有孚，窒惕，中吉，终凶。利见大人，不利涉大川。\n",
      "象曰：天与水违行，讼。君子以做事谋始。\n",
      "白话文解释\n",
      "讼卦：虽有利可图(获得俘虏)，但要警惕戒惧。其事中间吉利，后来凶险。占筮得此爻，有利于会见贵族王公，不利于涉水渡河。\n",
      "《象辞》说：上卦为乾，乾为天；下卦为坎，坎为水，天水隔绝，流向相背，事理乖舛，这是讼卦的卦象。君子观此卦象，以杜绝争讼为意，从而在谋事之初必须慎之又慎。\n",
      "《断易天机》解\n",
      "讼卦乾上坎下，为离宫游魂卦。上乾为刚，下坎为险，一方刚强，一方阴险，必然产生争论，因此多有不吉。\n",
      "北宋易学家邵雍解\n",
      "天高水深，达远不亲；慎谋退守，敬畏无凶。\n",
      "得此卦者，身心不安，事多不顺，与他人多争诉之事，宜修身养性，谨慎处事。\n",
      "台湾国学大儒傅佩荣解\n",
      "时运：功名受阻，不宜树敌。\n",
      "财运：开始谨慎，终可获利。\n",
      "家宅：君子必求淑女。\n",
      "身体：预防胜于治疗。\n",
      "传统解卦\n",
      "这个卦是异卦（下坎上乾）相叠。同需卦相反，互为“综卦”。乾为刚健，坎为险陷。刚与险，健与险，彼此反对，定生争讼。争讼非善事，务必慎重戒惧。\n",
      "大象：乾天升于上，坎水降于下，相背而行而起讼。\n",
      "运势：事与愿违，凡事不顺，小人加害，宜防陷阱。\n",
      "事业：起初顺利，有利可图，继而受挫，务必警惕，慎之又慎，不得固执已见，极力避免介入诉讼纠纷的争执之中。与其这样，不如退而让人，求得化解，安于正理，可免除意外之灾。陷入争讼，即使获胜，最后还得失去，得不偿失。\n",
      "经商：和气生财，吃亏是福，切勿追求不义之财。商业谈判应坚持公正、公平、互利的原则，尽量避免发生冲突。这样便会有好结果。\n",
      "求名：不利。自己尚缺乏竞争实力，应坚守纯正，隐忍自励，自强自勉，切莫逞强。依靠有地位的人的帮助，及早渡过难关。\n",
      "婚恋：虽不尽人意，倒也般配，彼此理解，未尝不可。双方应以温和的方式处理生活。\n",
      "决策：争强好胜，不安于现状，为改变命运和超越他人而奋斗。头脑聪颖，反应敏捷，有贵人相助。但缺乏持之以恒的毅力，容易露出锋芒，得罪他人，带来诉讼之灾。宜承认现实，顺其自然，知足，适可而止。接受教训，引以为戒，可功成名就。\n",
      "------\n",
      "样例 5:\n",
      "师卦原文\n",
      "师。贞，丈人吉，无咎。\n",
      "象曰：地中有水，师。君子以容民畜众。\n",
      "白话文解释\n",
      "师卦：占问总指挥的军情，没有灾祸。\n",
      "《象辞》说：下卦为坎，坎为水；上卦为坤，坤为地，像“地中有水”，这是师卦的卦象。君子观此卦象，取法于容纳江河的大地，收容和畜养大众。\n",
      "《断易天机》解\n",
      "师卦坤上坎下，为坎宫归魂卦。师即兵众，只有选择德高望重的长者来统率军队，才能吉祥无咎。\n",
      "北宋易学家邵雍解\n",
      "忧劳动众，变化无穷；公正无私，排除万难。\n",
      "得此卦者，困难重重，忧心劳众，宜包容别人，艰苦努力，摒除一切困难。\n",
      "台湾国学大儒傅佩荣解\n",
      "时运：包容别人，修行待时。\n",
      "财运：有财有库，善自珍惜。\n",
      "家宅：旧亲联姻，可喜可贺。\n",
      "身体：腹胀之症，调气无忧。\n",
      "传统解卦\n",
      "这个卦是异卦（下坎上坤）相叠。“师”指军队。坎为水、为险；坤为地、为顺，喻寓兵于农。兵凶战危，用兵乃圣人不得已而为之，但它可以顺利无阻碍地解决矛盾，因为顺乎形势，师出有名，故能化凶为吉。\n",
      "大象：养兵聚众，出师攻伐之象，彼此有伤，难得安宁。\n",
      "运势：困难重重，凡事以正规行事，忌独断独行、投机取巧，提防潜在敌人。\n",
      "事业：阻力很大，困难很多，处于激烈的竞争状态，要与他人密切合作，谨小慎微，行为果断，切忌盲目妄动，适度即可，注意保全自己。机动灵活，严于律已。从容沉着对付一切，必能成功。\n",
      "经商：已有一定的积蓄，可以从事大的营销活动，但必卷入激烈商战，以刚毅顽强的精神和高尚的商业道德，辅以灵活的方法，勿贪图小利，勿掉以轻心，加强与他人的沟通，必可摆脱困境，化险为夷。\n",
      "求名：具备很好的条件，但须有正确的引导，务必严格要求自己，克服不利因素的干扰，经过扎实努力，必可名利双全。\n",
      "婚恋：慎重、专注，否则会陷入“三角”纠纷。痴情追求可以达到目的。\n",
      "决策：天资聪颖，性格灵活，具有坚强的意志，对事业执着追求，迎难而进。可成就大事业。喜竞争，善争辩，富有冒险精神，不免带来麻烦，务老成持重，不贪功，以中正为要。\n",
      "------\n"
     ]
    }
   ],
   "source": [
    "# 输出结果以验证\n",
    "for i, sample in enumerate(raw_content_data[:5]):  # 打印前5个样例以检查\n",
    "    print(f\"样例 {i+1}:\")\n",
    "    print(sample)\n",
    "    print(\"------\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7633a7be-88f2-4d59-9070-d8a08e6e909c",
   "metadata": {},
   "source": [
    "### 将以上的所有模块，整合到一起，自动化生成数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "fd5d803a-6adf-4b6b-acda-7dbb7a259f06",
   "metadata": {},
   "outputs": [],
   "source": [
    "from langchain.chat_models import ChatOpenAI\n",
    "from langchain.schema import HumanMessage, SystemMessage\n",
    "from langchain.prompts.chat import (\n",
    "    ChatPromptTemplate,\n",
    "    HumanMessagePromptTemplate,\n",
    "    SystemMessagePromptTemplate,\n",
    ")\n",
    "\n",
    "# 初始化LangChain的GPT-4o-mini调用\n",
    "chat = ChatOpenAI(model=\"gpt-4o-mini\",\n",
    "                  temperature=1,\n",
    "                  max_tokens=4095)\n",
    "\n",
    "def gen_data(raw_content):\n",
    "    \"\"\"\n",
    "    使用LangChain GPT-4o-mini调用处理单个数据样例。\n",
    "\n",
    "    :param raw_content: 原始数据样例。\n",
    "    :return: GPT-4o-mini模型生成的内容。\n",
    "    \"\"\"\n",
    "    # 系统消息定义背景和任务\n",
    "    system_message = SystemMessage(\n",
    "        content=\"\"\"\n",
    "        你是中国古典哲学大师，尤其擅长周易的哲学解读。\n",
    "\n",
    "        接下来，你收到的都是关于周易卦象的解释，你需要整理润色，并生成用于大模型训练的内容和格式。\n",
    "\n",
    "        示例输入：\n",
    "\n",
    "        师卦，此卦是异卦相叠，下卦为坎，上卦为坤。“师”指军队。坎为水、为险；坤为地、为顺，喻寓兵于农。兵凶战危，用兵乃圣人不得已而为之，但它可以顺利无阻碍地解决矛盾，因为顺乎形势，师出有名，故能化凶为吉。占得此卦，对于军事上率师出征非常有利，必无灾祸。师卦是天马出群之卦，以寡伏众之象。\n",
    "        师卦位于讼卦之后，《序卦》之中这样解释道：“讼必有众起，故受之以师。师者，众也。”争讼的人越来越多，以致形成了军队。\n",
    "\n",
    "        期待结果：\n",
    "\n",
    "        content:\"师卦\"\n",
    "        summary:\"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。\n",
    "\n",
    "        师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。\n",
    "\n",
    "        师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\"\n",
    "        \"\"\"\n",
    "    )\n",
    "\n",
    "    # 人类消息包含原始数据样例\n",
    "    human_message = HumanMessage(\n",
    "        content=raw_content\n",
    "    )\n",
    "\n",
    "    # 构建消息列表并进行模型调用\n",
    "    messages = [system_message, human_message]\n",
    "    ai_message = chat(messages)\n",
    "\n",
    "    return ai_message.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "7790a03b-2fe7-445d-90d4-941d790d419b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "content: \"蒙卦\"\n",
      "summary: \"在周易中，蒙卦象征着通泰与启蒙，由上卦艮（山）和下卦坎（水）组成，寓意山下涌现出泉水，代表着知识和智慧的启发。蒙字本意为昏暗愚昧，象征着人在面对选择和困惑时的无知与犹豫。在此卦中，并非智者向愚者求教，而是愚者向智者寻求指导，说明了智慧启蒙的重要性。\n",
      "\n",
      "蒙卦的核心思想为：即便初时迷惑不知方向，但只要顺应时机并勇于行动，就能助长德行和品德的成长。《象辞》进一步强调，君子应以果敢的行动来培养自我修养。尽管蒙卦可能暗示内心的不安和对未来的疑虑，但通过接受良师的教导与自我努力，便能够转危为安。\n",
      "\n",
      "本卦在《断易天机》中被解读为凶卦，因其象征着智慧未开，面临的诸多疑惑与过失需加强警惕。北宋易学家邵雍提醒人们，智慧如同童蒙，需依赖贤师之教导，开启聪慧之道。在运势、事业、财运及人际关系的解卦中，蒙卦都强调了耐心、谨慎行事和道德的重要性，以确保在混乱之中取得成就。\"\n"
     ]
    }
   ],
   "source": [
    "# 示例调用（使用 raw_data.txt 中解析的数据样例）\n",
    "generated_content = gen_data(raw_content_data[0])\n",
    "print(generated_content)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "4e37d53c-3dd4-4494-a83f-c45786e40caa",
   "metadata": {},
   "outputs": [],
   "source": [
    "def dataset_parser(ai_message_content):\n",
    "    \"\"\"\n",
    "    解析由gen_data函数生成的ai_message.content，提取content和summary。\n",
    "\n",
    "    :param ai_message_content: gen_data函数返回的文本。\n",
    "    :return: 提取的content和summary。\n",
    "    \"\"\"\n",
    "    # 分割字符串来找到content和summary的位置\n",
    "    content_start = ai_message_content.find('content:\"') + len('content:\"')\n",
    "    content_end = ai_message_content.find('\"\\nsummary:')\n",
    "    summary_start = ai_message_content.find('summary:\"') + len('summary:\"')\n",
    "    summary_end = ai_message_content.rfind('\"')\n",
    "\n",
    "    # 提取并存储content和summary\n",
    "    content = ai_message_content[content_start:content_end].strip()\n",
    "    summary = ai_message_content[summary_start:summary_end].strip()\n",
    "\n",
    "    return content, summary\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "bc2f94fd-52d2-473e-b70a-721ab4d1f5cf",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content: \"蒙卦\n",
      "Summary: \"蒙卦\"\n",
      "summary: \"在周易中，蒙卦象征着通泰与启蒙，由上卦艮（山）和下卦坎（水）组成，寓意山下涌现出泉水，代表着知识和智慧的启发。蒙字本意为昏暗愚昧，象征着人在面对选择和困惑时的无知与犹豫。在此卦中，并非智者向愚者求教，而是愚者向智者寻求指导，说明了智慧启蒙的重要性。\n",
      "\n",
      "蒙卦的核心思想为：即便初时迷惑不知方向，但只要顺应时机并勇于行动，就能助长德行和品德的成长。《象辞》进一步强调，君子应以果敢的行动来培养自我修养。尽管蒙卦可能暗示内心的不安和对未来的疑虑，但通过接受良师的教导与自我努力，便能够转危为安。\n",
      "\n",
      "本卦在《断易天机》中被解读为凶卦，因其象征着智慧未开，面临的诸多疑惑与过失需加强警惕。北宋易学家邵雍提醒人们，智慧如同童蒙，需依赖贤师之教导，开启聪慧之道。在运势、事业、财运及人际关系的解卦中，蒙卦都强调了耐心、谨慎行事和道德的重要性，以确保在混乱之中取得成就。\n"
     ]
    }
   ],
   "source": [
    "# 示例调用（使用假设的gen_data函数返回的文本）\n",
    "content, summary = dataset_parser(generated_content)\n",
    "print(\"Content:\", content)\n",
    "print(\"Summary:\", summary)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "716794df-b608-4cca-a45d-9c597cf2a333",
   "metadata": {},
   "outputs": [],
   "source": [
    "import csv\n",
    "import datetime\n",
    "import os\n",
    "\n",
    "def main():\n",
    "    # 确保 data 目录存在\n",
    "    if not os.path.exists('data'):\n",
    "        os.makedirs('data')\n",
    "\n",
    "    # 解析 data/raw_data.txt 得到 raw_content_data 列表\n",
    "    raw_content_data = []\n",
    "    with open('data/raw_data.txt', 'r', encoding='utf-8') as file:\n",
    "        content = file.read()\n",
    "        data_samples = content.split('\\n\\n')\n",
    "        for sample in data_samples:\n",
    "            cleaned_sample = sample.strip()\n",
    "            if cleaned_sample:\n",
    "                raw_content_data.append(cleaned_sample)\n",
    "\n",
    "    # 创建带有时间戳的CSV文件名\n",
    "    timestamp = datetime.datetime.now().strftime(\"%Y%m%d_%H%M%S\")\n",
    "    filename = f\"data/zhouyi_dataset_{timestamp}.csv\"\n",
    "\n",
    "    # 创建CSV文件并写入标题行\n",
    "    with open(filename, mode='w', newline='', encoding='utf-8') as file:\n",
    "        writer = csv.writer(file)\n",
    "        writer.writerow(['content', 'summary'])\n",
    "\n",
    "        # 循环遍历 raw_content_data 数据样例\n",
    "        for raw_content in raw_content_data:\n",
    "            # 调用 gen_data 方法得到 ai_message_content\n",
    "            ai_message_content = gen_data(raw_content)\n",
    "\n",
    "            # 解析 ai_message_content 得到 content 和 summary\n",
    "            content, summary = dataset_parser(ai_message_content)\n",
    "            \n",
    "            print(\"Content:\", content)\n",
    "            print(\"Summary:\", summary)\n",
    "\n",
    "            # 调用 generate_question_summary_pairs 得到20组 pairs\n",
    "            pairs = generate_question_summary_pairs(content, summary)\n",
    "\n",
    "            # 将 pairs 写入 csv 文件\n",
    "            for pair in pairs:\n",
    "                writer.writerow(pair)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "c7869572-220d-4542-ab57-9d98613bbc80",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content: 蒙卦\n",
      "Summary: 在周易中，蒙卦是一个象征启蒙与通达的重要卦象，它由下坎（泉水）与上艮（山）构成。卦辞曰：\\\"蒙。亨。匪我求童蒙，童蒙求我。\\\"这句强调了智慧的关系：成熟者不应主动追寻幼稚愚昧之人，而是应让其向自己求教。\n",
      "\n",
      "蒙卦象征山下有泉，指示出一种潜在的生命力与成长空间。君子应以坚定果敢的行动来培养道德品德，通过自身的努力以启迪他人。《象辞》中说道：\\\"君子以果行育德\\\"，强调了实践的重要性。\n",
      "\n",
      "从各家的解读来看，蒙卦不仅在个人的智慧启迪上具有指导意义，还反映出在事业、财运及人际关系上的多重影响。无论是事业的起步，还是与人交往的谨慎，蒙卦皆提醒着我们在面对未知时需耐心等待良机，借助他人的智慧与教导来拓宽视野。其寓意是：虽然初始时可能感到困惑与迷茫，但只要脚踏实地，持之以恒，经过启蒙的历程，必能实现顺利、亨通。\n",
      "Content: \"屯卦\n",
      "Summary: \"屯卦\"\n",
      "summary: \"在周易中，屯卦是一个极具深意的卦象，它代表着开始和初期的困难与挑战。屯卦由下卦震（雷）和上卦坎（云）相叠而成，象征着云行于上，雷动于下的状态。其意涵为云与雷的结合，彰显了在动荡和艰难中依然可以通过智慧和勇气来治理事务。\n",
      "\n",
      "屯卦的核心哲学在于，尽管万事开端总是充满挑战，但这些困难是暂时的，成功往往需要经历磨难和努力。屯卦提醒我们在困境中保持坚定，良好的策略和良好的人际关系将有助于突破困境。\n",
      "\n",
      "根据传统解卦，屯卦具有大利的意义，但在实际行动上却不宜冒然出击。无论在事业、财运还是人际关系上，屯卦强调的是应稳扎稳打，谨慎行事，尤其在创业之初，面临许多不利因素，然而，若持之以恒，终将迎来转机。\n",
      "\n",
      "在婚恋方面，屯卦表示美好的关系难以一蹴而就，忠贞和坚持的态度能够最终带来幸福。此外，若在决策中面临初期的挑战，保持乐观、耐心和坚定的意志，最终会克服困难，取得成功。整体而言，屯卦以其深厚的哲理，提醒人们珍视艰难过程中的成长与磨砺。\n",
      "Content: \"需卦\n",
      "Summary: \"需卦\"\n",
      "summary: \"在周易中，需卦象征着等待和期待，由下卦乾（天）和上卦坎（险）构成，整体寓意为“需”，即云聚于天。此卦表明，在当前环境中，尽管有刚强之势，但也面临险阻，因此需要耐心等待合适的时机。 \n",
      "\n",
      "需卦的哲理在于，虽然可能面临困难与阻碍，但在正确的时刻，这些挑战将会转变为机遇，特别是在行动前应考虑周全，以求稳妥的成功。对于尊贵的君子，此卦意味着可以在安乐中等待时机，而不应急于行动。\n",
      "\n",
      "根据不同的解读，需卦也指示出在事业、财运和人际关系上都要耐心忍耐。无论是在商业上初期的困境，还是在感情上的慢慢培养，都需稳健应对，以诚待人，并随时准备把握即将到来的良机。\n",
      "\n",
      "在一般的解卦指南中，需卦提醒人们需调理心态，冷静应对各种挑战，汇聚力量，待时而动。成功的秘决在于保持自信并坚守原则，在时机成熟之后自会迎来顺利的局面。\n",
      "Content: 讼卦\n",
      "Summary: 在周易中，讼卦是一个复杂而富有哲理的卦象，由上卦乾（天）和下卦坎（水）相叠组成，象征着天水相隔、流向背离。此卦包含了争讼、冲突与不利因素的提醒，表示虽然在某些情况下可能获得利益，但内心需常存戒惧和警惕。其象辞指出，君子应在事开始时谨慎明智，以避免争端和冲突。\n",
      "\n",
      "讼卦的核心思想表明，刚与险的对立关系必然导致争议和不吉。所占得者身心常感不安，面临许多不顺与争诉之事，因此修身养性、慎之又慎是明智之举。此外，卦辞也隐含着在事业和决策上的不利，提倡在争端中选择退让，以求和解。\n",
      "\n",
      "关于时运，讼卦警示功名受阻，不宜结怨。财运虽有初期的收益，但随之而来的挫折需格外警惕。婚恋关系上，虽不尽如人意，但若互相理解，亦可建立相对和谐的关系。在商业活动中，和气生财，避免追逐不义之财，否则可能招致损失。\n",
      "\n",
      "总的来说，讼卦提醒人们在生活与工作中应保持警觉和谦逊，善于应对变化，以避免因争讼而带来的损失与伤害。正如古人所言：“和气生财，吃亏是福”，在冲突中寻求解决之道，方能走向吉祥之路。\n",
      "Content: \"师卦\n",
      "Summary: \"师卦\"\n",
      "summary: \"师卦在周易中占有重要地位，象征着军队与集体的力量。其卦象为下卦坎（水）与上卦坤（地）相叠，形象地反映出‘地中有水’的状态，引申出君子应如大地般包容，广纳众人。\n",
      "\n",
      "从《象辞》的角度来看，师卦意指选择德高望重者来统领军队，以确保吉祥与顺利。它提醒人们在面对困难时，应以宽容的态度对待他人，艰苦努力，克服一切障碍。北宋易学家邵雍则警示在艰难环境中，要公正无私，理智排除万难，体现出对集体的重视与责任感。\n",
      "\n",
      "傅佩荣的解读则强调了师卦对时运的影响，指出在财运、家宅等方面的积极暗示，同时提到应对健康问题的建议。传统的解卦将师卦视为在战争与农耕之间的微妙平衡，强调用兵的必要性与谨慎。\n",
      "\n",
      "根据运势和事业的发展，我们应当以稳健的步伐行事，避免投机取巧，以求在激烈的竞争中保持优势。经商者需保持与他人的沟通，克服困境，实现更大的目标。师卦也提醒求名者需有正确引导，以达成双赢局面。而在婚恋方面，则需保持专注，防止因轻率而陷入复杂情感纠纷。总之，师卦所蕴含的智慧在于将大局和个人利益平衡处理，以期在各个领域获得成功和安宁。\n",
      "Content: \"比卦\n",
      "Summary: \"比卦\"\n",
      "summary: \"比卦在周易中代表着吉利之象，卦象由下卦坤（地）和上卦坎（水）构成，象征着地上有水。此卦预示着持久的友好关系和相互依赖，表明有志同道合的机会，从而能够达到和谐稳定的局面。在占卜中，即使期间再次占卜，仍将显示出大吉大利的趋势。\n",
      "\n",
      "比卦的哲学内涵强调亲近和团结，象征着君主与诸侯之间的相互帮助与支持。先王常以水附大地为法，封建治理国家，亲近各方，因而形成了稳固的国家格局。此卦与师卦相反，体现了宽厚无私、相辅相助的道理。\n",
      "\n",
      "在个人运势上，若得此卦，说明能够获得朋友的支持与帮助，事业顺遂，且能在竞争中获得优势。在商业上，良好的合作关系和遵循商业道德是实现理想和盈利的关键。在婚恋方面，比卦暗示着美好姻缘，忠诚相待。决策层面上，友善和对他人的帮助将带来回报，但需谨慎选择朋友，明辨是非。\n",
      "Content: \"坤卦\n",
      "Summary: \"坤卦\"\n",
      "summary: \"在周易中，坤卦象征着大地，具有大吉大利的象征意义。它的原文指出，坤卦代表的是元亨利的状态，特别是雌马所带来的吉兆。君子在旅行时，虽然初期可能迷失方向，最终却能找到主人，这暗示着积极的经历将以顺利的结果收尾。\n",
      "\n",
      "坤卦为纯阴之卦，不仅象征着柔顺，还体现了地的特质，厚德载物。根据《象辞》的解读，这一卦象强调君子应当仿效大地的深厚德行，以承担重要责任。西南方向有利于获得朋友与物质，而东北方向则可能失去朋友与财物。\n",
      "\n",
      "在解卦的过程中，坤卦显示出诸事不宜急于求成，而应当以静制动，凝心聚力，与他人合作达到成就。这意味着在事业上，要注重内心修养和厚德载物，以谦卑之态对待周围的人，借助他人之力，共同达成目标。\n",
      "\n",
      "坤卦在个人运势上表现为家庭安宁与名声远扬，而在财运方面，象征着满载而归的潜力。婚恋中，女性的柔顺与温和将带来美好的姻缘，促成白头到老的美好愿景。总体而言，这一卦象提示人们在行动中保持谨慎，与他人合作，稳健前行，以推动事业的成功与生活的安稳。\n",
      "Content: \"乾卦\n",
      "Summary: \"乾卦\"\n",
      "summary: \"乾卦是周易六十四卦中的首卦，象征着天和纯阳的刚健。其卦辞为“元，亨，利，贞”，表明其意旨在于大吉大利，代表着正道与顺利。在《象辞》中，乾卦阐述了天道的刚强不息，以及君子应以自强不息的态度面对生活。\n",
      "\n",
      "乾卦的六阳爻展示了其刚强外向的特性，象征着积极向上的发展与活力。北宋易学家邵雍指出，乾卦所代表的刚健，应避免过于强硬而导致的风险。得此卦者，暗示着时运之勃发，名利双收，行事时应把握机遇。\n",
      "\n",
      "在财运方面，承载着施比受有福的理念，提醒人们在时代中应主动出击。在家宅运势上，积德行善会带来余庆，而女性若过于刚强，则需谨言慎行以求平衡。身体保健上，强调了保持恒常的健康意识。\n",
      "\n",
      "传统解卦强调了乾卦的吉祥与顺利，教导人们遵循天道的德行。运势上，乾卦代表着飞龙在天的至高境界，事业兴盛，但亦需警惕盛极而衰之道，保持心境平和以确保长远的成功。在经商方面，则表示大好机会，但务必冷静对待，合理把握时机。\n",
      "\n",
      "在婚恋方面，虽然阳气盛，然而刚柔相济则更易获得美满结局，女性温柔则宜。决策上，坚持正直、公允的原则，会有助于成就大的事业。综上所述，乾卦强调力量、机遇及谨慎态度的结合，教导人们在追求成功时应精益求精，自强不息。\n"
     ]
    }
   ],
   "source": [
    "# 执行主函数\n",
    "main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7b2d3cb7-964f-4469-aae0-901328ea6df1",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "99ef5651-4b69-4370-ad5b-b479e042f336",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ebc37c6c-1728-48d5-8e0e-31362c2b5d79",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "ea12d689-c371-452b-b5e7-3b70a9b3d0b8",
   "metadata": {},
   "source": [
    "### 异常分析\n",
    "\n",
    "\n",
    "训练第一个 epoch 时，Training Loss 比较奇怪：\n",
    "\n",
    "```\n",
    "Step\tTraining Loss\n",
    "1\t3.594100\n",
    "2\t4.049100\n",
    "3\t3.091200\n",
    "4\t3.381700\n",
    "5\t3.547800\n",
    "6\t2.610200\n",
    "7\t2.657900\n",
    "8\t3.163900\n",
    "```\n",
    "\n",
    "通过解析 gpt-4o-mini 生成结果发现问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "8408c88d-c81e-4f5f-837c-5d157dd1b37f",
   "metadata": {},
   "outputs": [],
   "source": [
    "def gen_data(raw_content):\n",
    "    \"\"\"\n",
    "    使用LangChain GPT-4o-mini调用处理单个数据样例。\n",
    "\n",
    "    :param raw_content: 原始数据样例。\n",
    "    :return: GPT-4o-mini模型生成的内容。\n",
    "    \"\"\"\n",
    "    # 系统消息定义背景和任务\n",
    "    system_message = SystemMessage(\n",
    "        content=\"\"\"\n",
    "        你是中国古典哲学大师，尤其擅长周易的哲学解读。\n",
    "\n",
    "        接下来，你收到的都是关于周易卦象的解释，你需要整理润色，并生成用于大模型训练的内容和格式。\n",
    "\n",
    "        示例输入：\n",
    "\n",
    "        师卦，此卦是异卦相叠，下卦为坎，上卦为坤。“师”指军队。坎为水、为险；坤为地、为顺，喻寓兵于农。兵凶战危，用兵乃圣人不得已而为之，但它可以顺利无阻碍地解决矛盾，因为顺乎形势，师出有名，故能化凶为吉。占得此卦，对于军事上率师出征非常有利，必无灾祸。师卦是天马出群之卦，以寡伏众之象。\n",
    "        师卦位于讼卦之后，《序卦》之中这样解释道：“讼必有众起，故受之以师。师者，众也。”争讼的人越来越多，以致形成了军队。\n",
    "\n",
    "        期待结果：\n",
    "\n",
    "        content:\"师卦\"\n",
    "        summary:\"在周易中，师卦是一个极具深意的卦象，它由两个异卦相叠组成：下卦坎（水）和上卦坤（地）。这一卦象代表“师”，即军队，寓意着兵力和农力的结合。在这里，坎卦象征着水和险难，而坤卦象征着地和顺从，暗示着通过将军事力量安置于民间，可以在必要时顺利调动。\n",
    "\n",
    "        师卦的核心哲学是：虽然兵力代表着危险和战争，但其使用应当是圣人不得已而为之的最后手段。在正确的情况下，军事力量可以顺应形势，将危险转化为吉祥。因此，在军事策略上，此卦象征着出征将会顺利，无灾祸。\n",
    "\n",
    "        师卦紧随讼卦（争讼卦），在《序卦》中解释为“讼必有众起，故受之以师”。这意味着争端激化至众多人群的参与，形成了类似军队的集体力量。\"\n",
    "\n",
    "        返回格式要求：\n",
    "        content:\"{卦名}\"\n",
    "        summary:\"{内容}\"\n",
    "        \"\"\"\n",
    "    )\n",
    "\n",
    "    # 人类消息包含原始数据样例\n",
    "    human_message = HumanMessage(\n",
    "        content=raw_content\n",
    "    )\n",
    "\n",
    "    # 构建消息列表并进行模型调用\n",
    "    messages = [system_message, human_message]\n",
    "    ai_message = chat(messages)\n",
    "\n",
    "    return ai_message.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "9fbb1ac5-0f0d-4dd8-ae4b-39227a606bf2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Content: 蒙卦\n",
      "Summary: 在周易中，蒙卦是一个富有启示意义的卦象，由上卦艮（山）和下卦坎（水）组成，象征着在山下涌出的泉水。此卦传达了‘蒙’即蒙昧的状态，强调智慧尚未开启、犹豫不决和缺乏果断的状态。因此，该卦常常暗示迷惑、疑虑与反复不定，初时可能面临困惑，但最终通过获得启发和教育能够通达亨利。\n",
      "\n",
      "卦辞中提到：“不是我有求于幼稚愚昧的人，而是幼稚愚昧的人有求于我。”这说明，在更加成熟的状态中，君子应以果敢坚毅的行动去培养自身的德行。此卦象启示我们，光明的未来需要耐心、聆听他人的意见以及勇敢的行动来实现。\n",
      "\n",
      "从不同角度分析，蒙卦在时运、事业、经商、求名、婚恋等方面均有其独特的指导意义。时运上，强调蓄积德行；事业上，尽管开始阶段可能混乱，但应通过教育与实践来转变；经商时，则需小心谨慎，注重商业道德；求名中，强调基础教育的重要性；婚恋则提醒关注对方的品德而非物质条件。蒙卦提醒我们，待机而动，审时度势，便能化解困境，迈向顺利之途。\n",
      "Content: 屯卦\n",
      "Summary: 屯卦象征着初生的困难与险境，它的构成由上下两个异卦组成：上卦为坎（云），下卦为震（雷）。这一卦在周易中被解释为大吉大利，意味着虽然初期艰难，但雷雨交加的环境中蕴藏着生机与希望。换言之，屯卦表达了万物萌发之初所必经历的挑战。\n",
      "\n",
      "《象辞》强调，君子应借鉴云雷的特性，以云的恩泽和雷的威严来治理国家。这种治理需要谨慎与果敢，因屯卦本身指出，在危机和困难中宜守不宜进，需要施以耐心和努力，才能逐步排除困难，迎接成功。\n",
      "\n",
      "从天机的角度来看，屯卦提醒我们身处困境时，务必小心翼翼，勇往直前，积极应对困难，寻求他人帮助，也必须在潜心积累后再求发展。对于事业和财运，初期创业可能会面临挫折，因此决策上应保持坚定信念，通过努力克服艰难。在婚恋方面，尽管可能经历波折，但始终坚持真诚的大步追求，能够实现美满的期望。\n",
      "\n",
      "总之，屯卦教导我们在面临挑战时要有坚韧不拔的毅力和乐观的态度，才能在逆境中找到突破和成就的机会。\n",
      "Content: 需卦\n",
      "Summary: 需卦代表着等待与期待，其卦象由上卦坎（水）和下卦乾（天）组合而成，象征着云聚天上，预示着适时降雨。此卦的核心思想在于虽然时机尚未成熟，但若能耐心等待，最终会迎来好运。\n",
      "\n",
      "需卦的本意在于应对险阻，其名虽然意含抓获俘虏，同时也体现了对时机的把握。古人有云：“云上于天，需；君子以饮食宴乐”，意指君子应当择时而动，以安乐之状态来对待未来机会。\n",
      "\n",
      "各方解读皆强调需卦的谨慎与耐心。北宋易学家邵雍指出大器晚成，收获在后，强调面对阻碍时，应以稳健的态度来应对，不可急进。而台湾国学大儒傅佩荣则认为，在财运与事业上都需抓紧时机，调和饮食以求健康。\n",
      "\n",
      "在商业上，需卦提醒我们初期艰难，需以耐心创造良机，以诚信待人以获得成功。在感情方面，慎重其事，培养感情，以诚相待，切忌草率行事。\n",
      "\n",
      "此卦告诫智者应待时而行，稳中求胜，在时机成熟后，前途无量，但在此之前，必须储蓄力量，冷静应对前方的艰险与小人的阻挠。总之，需卦强调的是一种以耐心与智慧为基础的稳健前行之道。\n",
      "Content: 讼卦\n",
      "Summary: 讼卦在周易中象征着争吵和诉讼。它的卦象为上乾（天）与下坎（水）相对，形成了天水相隔、流向相背的局面，暗示着事理的乖舛与争辩的发生。这一卦虽有利可图，但需警惕，尽管在过程当中可能存在中吉的迹象，但最终的结果可能会是凶险。\n",
      "\n",
      "根据《象辞》，君子应当在谋事之初谨慎小心，以避免争讼的发生。北宋易学家邵雍的解读指出，当前的处境需谨慎行事，避免直接冲突，而应当修身养性、守口如瓶。傅佩荣也提醒说，此时功名受阻，身心多乏安宁，财运与人事上需小心为上。务必明白和气生财、避免不义之争方能有所进展。\n",
      "\n",
      "综上所述，讼卦深刻阐释了争端的本质，提倡以和为贵，劝告人们在遇到纷争时，宁愿退一步，寻求和解，以免后患无穷。即便有所获利，其后果也可能是得不偿失，需谨慎应对。\n",
      "Content: 师卦\n",
      "Summary: 师卦是周易中的重要卦象，象征着军队与领导。在此卦中，下卦为坎（水，象征险难），上卦为坤（地，象征顺从），形成了“地中有水”的象征。此卦的整体意义在于，君子应以宽容和包容的态度对待民众，以收容和培养众人之力。\n",
      "\n",
      "根据《断易天机》，师卦强调在军事指挥中应选择德高望重的长者，以确保顺利、无咎。北宋易学家邵雍也指出，虽然在面对艰难险阻时需艰苦努力，但保持公正与包容的态度是克服困难的关键。\n",
      "\n",
      "从实用角度出发，师卦提醒我们在面对困难时，应采取正规的方式行事，避免独断专行，以免遭遇潜在危险。无论是在事业还是经商方面，虽然困难重重，但通过与他人的密切合作和适度的灵活应对，能够化险为夷，成功致胜。婚恋方面则需保持慎重与专注，方能避免复杂的纠纷。\n",
      "\n",
      "总体来看，师卦蕴含了深厚的哲学智慧，告诫人们在领导与组织中应具备的责任心与远见，适应形势，顺应民心，以期行稳致远。\n",
      "Content: 比卦\n",
      "Summary: 比卦在周易中是一个吉利的卦象，由下卦坤（地）和上卦坎（水）相叠而成，象征着地上有水，寓意着水附于大地，展现了相亲相依的关系。卦辞中提到：当通过长远的卜筮检查时，无论如何都能保持吉祥，意味着在长时间的运势中也将无灾无难。然而，对于那些不愿臣服的国家来说，迟迟不至者则可能面临凶难。\n",
      "\n",
      "比卦的核心理念在于亲近与和谐，象征着天下万国关系的建立和和谐。先王以此卦象为法，亲近诸侯，显示出宽宏无私、精诚团结的道理。在《断易天机》中，分析到比卦的意义更为深远，强调了相互依附所带来的吉祥与长久无忌。\n",
      "\n",
      "从各个层面来看，此卦都表明了良好的运势：事业上，借助他人的力量能够成功；经济方面，需与他人密切合作，讲求商业道德以获得丰厚利润；而在婚恋中则突显出忠诚与相爱的美好关系。\n",
      "\n",
      "因此，比卦所传达的哲理在于：待人宽厚、正直，乐于助人，这不仅能获得他人的帮助，也能通过诚实与信任去把握机遇，实现自己的理想。此卦也警示人们慎重选择朋友，友善于高明之人，方可终身受益。\n",
      "Content: 坤卦\n",
      "Summary: 坤卦象征着大吉大利，其内容涵盖了柔顺与和谐，体现了大地的承载能力。坤卦的原文揭示了君子在行动中的经历，提示在生活中可能会遇到的迷失与探索，最终得到回报的美好结果。它强调在西南方向寻求朋友和财物，而在东北方向可能遭遇损失，由此可见坤卦在方位上的重要性。\n",
      "\n",
      "《象辞》中的描述指出，地势坤厚，君子应以深厚的德行来承载他人。坤卦的结构为同卦（下坤上坤），其纯阴之性与顺应性表明大地对万物的包容和滋养，反映出顺从天道的重要性。\n",
      "\n",
      "综合各家解读，坤卦适宜静观其变，以静制动，勿急于冒进。事业上获取成功需靠他人的支持，强调修身养德，以便为后续的成就打下坚实基础。在商业行为中，应持稳健态度，细心总结经验，而在求名与婚恋方面，则表现出顺利与和谐的预兆。\n",
      "\n",
      "因此，坤卦鼓励以诚恳、温和的态度对待他人，善于协作并从中获益，同时提醒我们在生活中应当谨言慎行，珍视与他人的关系，以期在不断顺应时代与自然法则中获得福祉。\n",
      "Content: 乾卦\n",
      "Summary: 在周易中，乾卦象征着天，由六阳爻构成，代表着纯阳刚健的力量。卦辞“元，亨，利，贞”表明了这一卦象的大吉大利和吉祥如意。象辞中指出，天道运行不息，君子应视此卦象为榜样，努力自强不息。\n",
      "\n",
      "乾卦作为《易经》六十四卦之首，表征着刚性、强健的特性，其象征涵义广泛：不仅预示着事业的成功和名利的双收，还强调正道的重要性，提醒人们遵循天道，保持德行。北宋易学家邵雍提到，乾卦带来发达顺利的机会，但也需谨防过于刚强。\n",
      "\n",
      "根据傅佩荣的解读，乾卦在财运、家宅等方面亦有吉祥的兆象，提倡施与受的平衡，强调积德行善的重要性。在身体健康方面，保持良好的保健习惯也是必要的。\n",
      "\n",
      "总体来说，乾卦的运势势如飞龙在天，适合把握时机和奋斗进取。经营中需要冷静分析，注意商业道德；而在婚恋中，阳刚与阴柔相辅相成，可以形成美满的结果。因此，决策者若能坚持刚健正直的原则，修身养德，必能克服障碍，实现大事业。\n"
     ]
    }
   ],
   "source": [
    "# 执行主函数\n",
    "main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "12e7bed4-7bc2-4e5f-83f1-e87f4ae679ab",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "afb64b98-cb37-4175-b591-358a5fd0abbc",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8b7dbb5c-37d6-45e1-911b-73d6971df914",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "caad2a63-377f-4d38-9053-4f3d00355e5c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
